;*********************************************************************
; vec2.asm
; Ejercicio que ingreso por teclado para llenar un vector y luego
; lo recorre y lo imprime por pantalla
;
;*********************************************************************

.model small
.stack
.data

vector	db  10 dup ('?')
msgIng  db  10,13,"Ingrese elemento para posicion $"

.code
start:

	mov	ax,@data 	;ds <-- dir del segmento de datos
	mov	ds,ax

	mov	si,0		;puntero al vector (word)
otroIn:
	lea	dx,msgIng	; Imprimo msg para ingreso
	mov	ah,9
	int	21h
	
	mov	dx,si		; copio el puntero en DX (queda en DL el valor de la posicion)
	add	dl,48		; convierto a ascii el nro del elemento a ingresar

	mov	ah,2		; imprimo el nro del elemento a ingresar
	int	21h

	mov	ah,1		; ingreso por teclado el elemento
	int	21h

	mov	vector[si],al	; guardo el elemento en el vector

	add	si,1		; me adelanto en el vector
	cmp	si,10
	jl	otroIn


	mov	si,0		; puntero al vector
	mov	cx,10		; contador para loop
otro:
	mov	dl,vector[si]	; copio en 'dl' el elemento del vector a imprimir
	
	mov	ah,2		; imprimo el elemento del vec
	int	21h

	add	si,1		; me adelanto al prox elemento

	loop	otro		; resta 1 a cx y si es <> 0 bifurca a 'otro
	

	mov	ax,4c00h	; retornar al DOS
	int	21h
end start